{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Import and setting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- import\n",
    "import pickle\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- figure size\n",
    "plt.rcParams['figure.figsize'] =[8, 6]\n",
    "\n",
    "# ---------- axes\n",
    "plt.rcParams['axes.grid'] = True\n",
    "plt.rcParams['axes.linewidth'] = 1.5\n",
    "\n",
    "# ---------- ticks\n",
    "plt.rcParams['xtick.direction'] = 'in'\n",
    "plt.rcParams['ytick.direction'] = 'in'\n",
    "plt.rcParams['xtick.major.width'] = 1.0\n",
    "plt.rcParams['ytick.major.width'] = 1.0\n",
    "plt.rcParams['xtick.major.size'] = 8.0\n",
    "plt.rcParams['ytick.major.size'] = 8.0\n",
    "\n",
    "# ---------- lines\n",
    "plt.rcParams['lines.linewidth'] = 2.5\n",
    "\n",
    "# ---------- grid\n",
    "plt.rcParams['grid.linestyle'] = ':'\n",
    "\n",
    "# ---------- font\n",
    "plt.rcParams['font.size'] = 20\n",
    "#plt.rcParams['pdf.fonttype'] = 42    # embed fonts in PDF using type42 (True type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def load_pkl(filename):\n",
    "    with open(filename, 'rb') as f:\n",
    "        return pickle.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Spg_num</th>\n",
       "      <th>Spg_sym</th>\n",
       "      <th>Spg_num_opt</th>\n",
       "      <th>Spg_sym_opt</th>\n",
       "      <th>E_eV_atom</th>\n",
       "      <th>Magmom</th>\n",
       "      <th>Opt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>103</td>\n",
       "      <td>P4cc</td>\n",
       "      <td>85</td>\n",
       "      <td>P4/n</td>\n",
       "      <td>-110.860684</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>225</td>\n",
       "      <td>Fm-3m</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-110.787034</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>132</td>\n",
       "      <td>P4_2/mcm</td>\n",
       "      <td>66</td>\n",
       "      <td>Cccm</td>\n",
       "      <td>-110.779474</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>187</td>\n",
       "      <td>P-6m2</td>\n",
       "      <td>1</td>\n",
       "      <td>P1</td>\n",
       "      <td>-110.755765</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>163</td>\n",
       "      <td>P-31c</td>\n",
       "      <td>2</td>\n",
       "      <td>P-1</td>\n",
       "      <td>-110.503336</td>\n",
       "      <td>NaN</td>\n",
       "      <td>done</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Spg_num   Spg_sym  Spg_num_opt Spg_sym_opt   E_eV_atom  Magmom   Opt\n",
       "3      103      P4cc           85        P4/n -110.860684     NaN  done\n",
       "1      225     Fm-3m            1          P1 -110.787034     NaN  done\n",
       "2      132  P4_2/mcm           66        Cccm -110.779474     NaN  done\n",
       "0      187     P-6m2            1          P1 -110.755765     NaN  done\n",
       "4      163     P-31c            2         P-1 -110.503336     NaN  done"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rslt_data = load_pkl('./pkl_data/rslt_data.pkl')\n",
    "\n",
    "# ---------- sort by Energy\n",
    "rslt_data.sort_values(by=['E_eV_atom']).head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of data: 5\n",
      "Success: 5\n",
      "Error: 0\n",
      "Emin: -110.8606835533829 eV/atom\n"
     ]
    }
   ],
   "source": [
    "# ---------- Number of structures\n",
    "ndata = len(rslt_data)\n",
    "print('Number of data: {}'.format(ndata))\n",
    "\n",
    "# ---------- check success and error\n",
    "nsuccess = rslt_data['E_eV_atom'].count()\n",
    "nerror = ndata - nsuccess\n",
    "print('Success: {}'.format(nsuccess))\n",
    "print('Error: {}'.format(nerror))\n",
    "\n",
    "# ---------- minimum\n",
    "Emin = rslt_data['E_eV_atom'].min()\n",
    "print('Emin: {} eV/atom'.format(Emin))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Energy vs. trial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Energy (eV/atom)')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "# ---------- axis\n",
    "dx = 1\n",
    "ax.set_xlim([0, ndata+dx])\n",
    "ax.set_ylim([-0.2, 1])\n",
    "\n",
    "# ---------- hline at zero\n",
    "ax.hlines(0.0, -dx, ndata+dx, 'k', '--')\n",
    "\n",
    "# ---------- plot\n",
    "# x <-- ID + 1\n",
    "ax.plot(rslt_data.index + 1, rslt_data['E_eV_atom'] - Emin, 'o', ms=15, mew=2.0, alpha=0.8)\n",
    "\n",
    "# ---------- title and label\n",
    "ax.set_title('Random search for Si$_{16}$')\n",
    "ax.set_xlabel('Number of trials')\n",
    "ax.set_ylabel('Energy (eV/atom)')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---------- save figure\n",
    "fig.savefig('Si16_RS.png', bbox_inches='tight')    # PNG\n",
    "#fig.savefig('title_RS.png', bbox_inches='tight', dpi=300)    # high dpi PNG\n",
    "#fig.savefig('title_RS.pdf', bbox_inches='tight')    # PDF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  },
  "toc": {
   "nav_menu": {
    "height": "84px",
    "width": "252px"
   },
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
